<template>
  <div @click="$emit('myclick', 200)">son组件 -- {{ a }} -- {{ m }}</div>
</template>

<script>
// props和data的区别
// props是父组件传过来 符合单向数据流 数据是只读的
// data是自己的数据 可以随便修饰
// watch可以侦听data,computed,props 这些响应式数据
//只要是index.js可以省略
// index.vue 因为这样可以只写文件夹就行了
import EventBus from "@/EventBus";
export default {
  created() {
    EventBus.$on("my-event", (num) => {
      console.log(num);
    });
  },
  inject: {
    m: {
      type: Number,
      required: true,
    },
  },
  props: {
    a: {
      type: Number,
      required: true,
    },
    b: {
      type: Array,
      default: () => [],
    },
    c: {
      type: Object,
      default: () => ({}),
    },
    d: {
      type: Number,
      // 自定义校验
      validator: (value) => {
        return value >= 10;
      },
    },
  },
  name: "MySon",
  data() {
    return {};
  },
  methods: {},
};
</script>

<style scoped></style>
